#ifndef _SYSTEM_APP_H_
#define _SYSTEM_APP_H_

#include "tim.h"
#include "usart.h"

#include "MOTOR/motor_app.h"

#include "SENSOR/adc_app.h"
#include "SENSOR/sensor_app.h"

#include "NRF24/NRF24_app.h" 

#include "UART/uart_app.h"
#include "UART/G4_app.h"

#include "SERVO/servo_app.h"



/**
 ****************************************************************************************************
 * 系统函数区
 ****************************************************************************************************
 */

/**
 * @if Eng 
 * @brief Tests system LEDs by blinking them 
 * @param time - Blink interval in milliseconds
 * @result LEDs blink at specified interval for visual verification
 * @note Used for hardware verification during startup 
 * @else 
 * @brief 通过闪烁测试系统LED 
 * @param time - 闪烁间隔时间(毫秒)
 * @result LED按指定间隔闪烁用于视觉验证 
 * @note 用于启动时的硬件验证 
 * @endif 
 */
void system_Test_LED(uint16_t time);

/**
 * @if Eng 
 * @brief Initializes all system components
 * @param None 
 * @result All hardware peripherals and software systems are ready 
 * @note Must be called before system_run()
 * @else
 * @brief 初始化所有系统组件 
 * @param 无 
 * @result 所有硬件外设和软件系统准备就绪
 * @note 必须在system_run()之前调用 
 * @endif 
 */
void system_Init(void);

/**
 * @if Eng
 * @brief Main system execution loop
 * @param None 
 * @result System enters infinite processing loop
 * @note Contains main control logic and state machine 
 * @else 
 * @brief 主系统执行循环
 * @param 无
 * @result 系统进入无限处理循环
 * @note 包含主控制逻辑和状态机
 * @endif 
 */
void system_run(void);

#endif
